A Novel Obfuscation: Class Hierarchy Flattening

نویسندگان

  • Christophe Foket
  • Bjorn De Sutter
  • Bart Coppens
  • Koen De Bosschere
چکیده

This paper presents class hierarchy flattening, a novel obfuscation technique for programs written in object-oriented, managed programming languages. Class hierarchy flattening strives for maximally removing the inheritance relations from object-oriented programs, thus hiding the overall design of the program from reverse engineers and other attackers. We evaluate the potential of class hierarchy flattening by means of a fully automated prototype tool for Java bytecode. For real-life programs from the DaCapo benchmark suite, we demonstrate that the transformation effectively hinders both human and tool analyses, and that it does so at limited overheads.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Obfuscating C++ Programs via Control Flow Flattening

Protecting a software from unauthorized access is an ever demanding task. Thus, in this paper, we focus on the protection of source code by means of obfuscation and discuss the adaptation of a control flow transformation technique called control flow flattening to the C++ language. In addition to the problems of adaptation and the solutions proposed for them, a formal algorithm of the technique...

متن کامل

Improving Hierarchical SVMs by Hierarchy Flattening and Lazy Classification

Hierarchical SVMs are well-known for their superior performance on text classification problems. They are especially useful on largescale problems where training flat multi-class SVMs is often resourceprohibitive. However, Hierarchical SVMs suffer from compounding of errors with each hierarchy level which may negatively impact their classification performance. We propose k-level hierarchy flatt...

متن کامل

Three control flow obfuscation methods for Java software

Three novel control computation (control flow) obfuscation methods are described for protecting Java class files. They are basic block fission obfuscation, intersecting loop obfuscation and replacing goto obfuscation. The basic block fission obfuscation splits some chosen basic block(s) into more basic blocks, in which opaque predicates and goto instructions are inserted to make decompiling uns...

متن کامل

Obfuscation by Partial Evaluation of Distorted Interpreters (Invited Talk) (meta 2012)

How to construct a general program obfuscator? We present a novel approach to automatically generating obfuscated code P ′ from any program P whose source code is given. Start with a (program-executing) interpreter interp for the language in which P is written. Then “distort” interp so it is still correct, but its specialization P ′ w.r.t. P is transformed code that is equivalent to the origina...

متن کامل

Maximum-Margin Framework for Training Data Synchronization in Large-Scale Hierarchical Classification

In the context of supervised learning, the training data for large-scale hierarchical classification consist of (i) a set of input-output pairs, and (ii) a hierarchy structure defining parent-child relation among class labels. It is often the case that the hierarchy structure given apriori is not optimal for achieving high classification accuracy. This is especially true for large web-taxonomie...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012